const Subscription = require('egg').Subscription;
const moment = require('moment');

class Task extends Subscription {

  static get schedule() {
    return {
      // disable: false, // DEBUG 用，切勿随意打开 | 设置为true的话，关闭此定时任务
      // interval: '1m', // 1 分钟间隔
      cron: '*/15 * * * * *', // 也可以通过 cron 表达式来构建时间间隔
      type: 'worker', // 指定所有的 worker 都需要执行
      immediate: true, // 项目启动就执行一次定时任务
      // env: [ 'dev', 'debug' ], // 该定时任务在开发环境和debug模式下才执行
    };
  }


  async subscribe() {
    const now_time = moment();
    console.log(111111);
    console.log(JSON.stringify(this.app.online));
    for (const element in this.app.online) {
      const old_time = moment(this.app.online[element].time).add(60, 's');
      if (moment(old_time).isBefore(moment(now_time))) {
        delete this.app.online[element];
      }
    }
  }
}

module.exports = Task;
